如何在linux上配置clash

您所在的位置:网站首页 clash 生成配置文件 如何在linux上配置clash

如何在linux上配置clash

2022-10-16 15:52| 来源: 网络整理| 查看: 265

Linux 环境配置的最佳实践 Linux 基础知识硬链接 & 软链接Linux 目录基本指令 Linux 环境配置安装 zsh 和 oh-my-zsh开发环境安装(必用)nvm 管理 Node 环境jEnv 管理 Java 环境 开发环境安装(可选)安装 Redis 常用指令后台运行文件解压到指定目录 一些无聊有趣的工具 实践操作启动 SSH 其他Linux Mint 相关记录蓝牙管理

本文将会长期更新。。。

文章是基于 Ubuntu 和 Mint 系统的,其他 Linux 发行版可以参考一下思路 主要区别在于包管理工具不一样,但是我基本都会附上官方链接,可以参考官方文档进行安装

前言:

文章并不是给纯小白看的,需要有 Linux 基础!文章主要是个人笔记和记录,所以可能会有些简洁,欢迎指点 Linux 基础知识

简单记录一些基础知识,有基础的同学可以跳过,直接看后面的 Linux 环境配置

硬链接 & 软链接

硬链接:Linux 系统中,每一个文件都会 有一个索引节点,用来标识文件,链接就是通过这个索引节点进行链接。只有在同一个文件系统中的文件之间才能创建硬连接,不能对目录进行创建。硬链接可以创建多个,即可以有多个文件指向同一个索引节点,或者说一个文件可以拥有多个路径名,因此一个文件可以对应多个文件名。

硬连接就是 “完美的复制”,cp 实现的复制文件,源文件和复制后的文件,索引节点是不同的。 但是通过硬链接得到的文件,索引节点都一模一样。

# 创建一个文件 source_file touch source_file # 建立硬链接文件 hardlink_file ln source_file hardlink_file

ls -li 发现这两个文件的索引节点相同,所以源文件和硬链接文件指向同一个索引节点。

total 8 1181866 -rw-rw-r-- 2 yusael yusael 9 5月 10 18:40 hardlink_file 1181866 -rw-rw-r-- 2 yusael yusael 9 5月 10 18:40 source_file

对一个文件,可以建立多个硬链接,即使删除了其中一个链接也没事,其他仍然能用。

目录不能建立硬链接,如果可以建立硬链接,目录树就会变成环形的了。

软链接:为某一个文件在另一位置建立一个不同的链接,实现文件或目录的共享,类似 Windows 下的快捷方式。

软链接不要求在同一文件系统中,摆托了硬链接的限制。

软链接可以指向任意一个文件系统下的任意文件或目录,甚至可以指向不存在的文件(无法对不存在的文件创建硬链接)。

# 创建一个文件 source_file touch source_file # 创建软链接 ln -s source_file softlink_file # 删除源文件 rm -rf source_file # 访问软链接(无法访问到) cat softlink_file

由于源文件已经被删除,访问软链接也无法访问到了。

cat: softlink_file: No such file or directory

注意:正常创建软链接时务必使用绝对路径,不然访问会报错

软链接的使用场景:

有时需要执行很多的命令,不同的命令对应不同的目录的路径,有些路径很长很难记,可以使用软链接将这些路径链接到当前路径,就会变的很简单。有很多交叉编译器时,不同的编译器可能会用到不同的第三方库,一般的做法是将库文件放到编译器的路径下,编译程序时就会自动找到头文件。但是如果这个库比较大,每个编译器都要用的话,分别搬过去会很占空间,可以通过创建软链接的方式,将这个库共享给不同的变异器使用。 Linux 目录

着重强调几个目录:

/usr 不是 user 的缩写,是 Unix Software Resource 的缩写,是Unix操作系统软件资源所放置的目录,而不是用户的数据;所有系统默认的软件都会放置到 /usr, 系统安装完时,这个目录会占用最多的硬盘容量。/usr/local 主要存放那些手动安装的软件,即不是通过 apt-get 安装的软件。它具有和 usr 类似的目录结构,让软件包管理器来管理 /usr 目录,而把自定义的脚本放到 /user/local 目录下面。/opt 主要存放那些可选的程序。尝试完后可以随时直接删除,不会有任何影响。安装到 /opt 目录下的程序,所有的数据、库文件等等都是放在同一个目录下面。

系统启动必须:

/boot:存放的启动 Linux 时使用的内核文件,包括连接文件以及镜像文件/etc:存放所有的系统需要的配置文件和**子目录列表,**更改目录下的文件可能会导致系统不能启动/lib:存放基本代码库(比如 C++ 库),其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库/sys: 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面 3 种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

/bin:存放着最常用的程序和指令/sbin:只有系统管理员能使用的程序和指令

外部文件管理:

/dev:Device(设备)的缩写,存放的是 Linux 的外部设备。注意:在 Linux 中访问设备和访问文件的方式是相同的/media:类似 Windows 的其他设备,例如 U 盘、光驱等等,识别后 Linux 会把设备放到这个目录下/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了

临时文件:

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件/tmp:这个目录是用来存放一些临时文件的

账户:

/root:系统管理员的用户主目录/home:用户的主目录,以用户的账号命名的/usr:用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 program files 目录/usr/bin:系统用户使用的应用程序与指令/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序/usr/src:内核源代码默认的放置目录

运行过程中要用:

/var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)/proc:管理内存空间虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改

扩展用的:

/opt:默认是空的,我们安装额外软件可以放在这个里面/srv:存放服务启动后需要提取的数据(不用服务器就是空) 基本指令

系统相关:

# 显示电脑及操作系统相关信息 uname -a # 显示 Linux 发行版信息 lsb_release -a

目录相关:

du -a 列出所有的文件与目录容量 -h 以易懂的容量格式显示, 自动选择显示单位 -s 列出总量, 而不递归列出子目录的容量 -k 以 KB 为单位进行显示 -m 以 MB 为单位进行显示 # 查看指定目录的大小 du -sh # 查看当前目录下所有文件大小 du -sh * Linux 环境配置 安装 zsh 和 oh-my-zsh

终端是 Linux 下使用最多的东西,必须打造的漂亮又实用!

对于一个全新的 Linux 系统,务必第一个安装终端环境,因为安装终端会把一些配置文件清空重写,而安装一些其他环境时,会自动往配置文件中配置环境变量,如果后面安装终端,可能会将之前已有的环境变量清除。

# Ubuntu 使用 apt 包管理工具安装 sudo apt-get install zsh # 验证是否安装成功 zsh --version # 安装 oh-my-zsh sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" # 安装 Powerlevel10k git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k # 在配置文件中配置主题 vi ~/.zshrc # 修改以下配置内容 # ZSH_THEME="powerlevel10k/powerlevel10k"

安装 Hack Nerd Font 字体,去该网址下载字体文件:https://www.nerdfonts.com/font-downloads

也可以直接点击下载 Hack Nerd Font:https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Hack.zip

关于 .zshrc 和 vim 相关的配置,可参考我的配置文件:https://gitee.com/szluyu99/my-unix-config

开发环境安装(必用) nvm 管理 Node 环境

nvm 是一款 Node.js 环境管理器,可用于安装和切换不同的 Node 环境,建议使用它管理 Node 环境

nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

# 使用脚本安装 nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # 添加环境变量到 ~/.zshrc 或 ~/.profile 或 ~/.bashrc export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm # 通过 nvm 安装 & 使用 node nvm install --lts nvm use --lts jEnv 管理 Java 环境

jEnv 是一款 Java 环境管理器,可以用于管理本地的不同 Java 环境,建议使用它来管理 Java 环境

jEnv - Manage your Java environment

# 根据文档安装 jenv git clone https://github.com/jenv/jenv.git ~/.jenv echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc # 使用包管理工具安装 jdk17 sudo apt install openjdk-17-jdk

使用 ls -l 查看安装的 java 的真实路径:

# 默认使用的是 /usr/bin/java,但这不是安装的 jdk 的真实路径 $ ls -l /usr/bin/java lrwxrwxrwx 1 root root 22 May 27 01:20 /usr/bin/java -> /etc/alternatives/java $ ls -l /etc/alternatives/java lrwxrwxrwx 1 root root 43 May 27 01:20 /etc/alternatives/java -> /usr/lib/jvm/java-17-openjdk-amd64/bin/java

得到真实路径后,使用 jenv 管理:

$ jenv add /usr/lib/jvm/java-17-openjdk-amd64 openjdk64-17.0.3 added 17.0.3 added 17.0 added 17 added # 指定当前使用的 jdk $ jenv global 17 开发环境安装(可选) 安装 Redis

Redis 5.0 被包含在默认的 Ubuntu 20.04 软件源中,可以使用 apt 包管理工具安装:

sudo apt update sudo apt install redis-server 常用指令

这里记录一些非常非常常用的指令,Linux 基础很好可以略过

后台运行文件

后台运行文件的方法:nohup ./cfw &,会在当前目录生成一个 nohup.out 文件作为日志

手动结束后台进程的方法:

# 找到 clash 的进程号 ps -aux | grep clash # 或 ps -ef | grep clash # 杀死该进程 kill -9 3458 解压到指定目录 tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz 一些无聊有趣的工具

下面都使用 apt 包管理工具来安装 一般来说 Mac 通过 brew install xxx 也可以安装

sl 是 Steam Locomotive 蒸汽火车的缩写,使用后会有一辆火车开过

$ sudo apt install sl $ sl (@@) ( ) (@) ( ) @@ () @ O @ O @ ( ) (@@@@) ( ) (@@@) ==== ________ ___________ _D _| |_______/ \__I_I_____===__|_________| |(_)--- | H\________/ | | =|___ ___| _________________ / | | H | | | | ||_| |_|| _| \_____A | | | H |__--------------------| [___] | =| | | ________|___H__/__|_____/[][]~\_______| | -| | |/ | |-----------I_____I [][] [] D |=======|____|________________________|_ _/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|__________________________|_ |/-=|___|= O=====O=====O=====O|_____/~\___/ |_D__D__D_| |_D__D__D_| \_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/

cmatrix 是模拟类似黑客帝国的数字雨场景来进行显示

$ sudo apt install cmatrix $ cmatrix

htop 是 Liunx 操作系统的图形化性能检测工具

$ sudo apt install htop $ htop

hollywood 抖音中很火的那个,想象中的程序猿

$ sudo apt install hollywood $ hollywood

aafire 让字符串像火焰一样燃烧的输出

$ sudo apt install libaa-bin $ aafire

bastet 可以在 Linux 系统下玩俄罗斯方块:

$ sudo apt install bastet $ bastet

cowsay 会说话的奶牛

$ sudo apt install cowsay $ cowsay "hello world" _____________ ------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||

figlet 将用户输入的内容转换成 ASCII 横幅并在显示屏上输出(无长度限制

$ sudo apt instal figlet $ figlet I Love Linux! ___ _ _ _ _ |_ _| | | _____ _____ | | (_)_ __ _ ___ _| | | | | | / _ \ \ / / _ \ | | | | '_ \| | | \ \/ / | | | | |__| (_) \ V / __/ | |___| | | | | |_| |> 键盘 -> 布局 -> 选项 -> Ctrl key position -> …

Mint 和 Windows 一致的快捷键:

Alt + F4:关闭程序Alt + Tab:切换程序Win + 方向键,移动窗口贴合到指定方向 蓝牙管理

这个主要针对 Mint 系统,因为默认的 blueberry 十分不好用(经常找不到蓝牙设备,连接也不好用) 换成 blueman 以后就正常了

卸载自带的 blueberry,安装 blueman:

sudo apt-get remove blueberry sudo apt-get install blueman


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3